package com.agileboot.domain.bank.db;

import com.agileboot.common.core.page.PageDTO;
import com.agileboot.domain.answer.vo.AnswerVO;
import com.agileboot.domain.bank.query.ExamQuery;
import com.agileboot.domain.bank.query.ExamRequest;
import com.agileboot.domain.bank.vo.BankHaveQuestionSum;
import com.agileboot.domain.question.vo.QuestionAnswerVO;
import com.agileboot.domain.question.vo.QuestionVo;
import com.baomidou.mybatisplus.extension.service.IService;


import java.util.List;

/**
 * @author by wzz
 * @implNote 2020/10/20 9:04
 */
public interface QuestionBankService extends IService<QuestionBank> {

    PageDTO<BankHaveQuestionSum> getQuestionBankPage(ExamQuery examQuery);

    List<QuestionVo> getQuestionsByBankId(Integer bankId);

    List<QuestionVo> getQuestionByBankIdAndType(Integer bankId, Integer type);

    PageDTO<QuestionBank> getAllQuestionBanks(ExamQuery examQuery);

    void addQuestionToBank(String questionIds, String banks);

    void removeBankQuestion(String questionIds, String banks);

    void deleteQuestionBank(String ids);


    void addQuestionBank(QuestionBank questionBank);

    void addQuestionBank(ExamRequest examRequest);

    void editQuestionBank(Integer id, ExamRequest examRequest);

    List<QuestionBank> getAllQuestionBankName();

    QuestionAnswerVO getQuestionDetail(Integer id);
}
